home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / mvpforth.arc / MVPFORTH.TXT < prev    next >
Text File  |  1986-04-20  |  5KB  |  404 lines

  1.        MVPFORTH VERSION 1.0305.02 -10 AUG 82
  2.  
  3.       MVPFORTH KERNEL VERSION 1.0305.02
  4.  
  5.       A FORTH OPERATING SYSSTEM 
  6.  
  7.       FORTH THE IBM PERSONAL COMPUTER
  8.  
  9.  
  10.         PREPARED FOR
  11.  
  12.      MOUNTAIN VIEW PRESS, INC.
  13.            PO BOX 4656
  14.      MOUNTAIN VIEW, CA 94040
  15.  
  16.          IMPLEMENTATION BY
  17.  
  18.         HAYDON ENTERPRISES
  19.           BOX 429 ROUTE 2
  20.         LA HONDA, CA 94020
  21.  
  22.  
  23. THIS PUBLICATION IS PLACED IN THE PUBLIC 
  24. DOMAIN.  PERMISSION TO DISTRIBUTE IS GRANTED
  25. BY THE INCLUSION OF CREDIT TO MOUNTAIN VIEW
  26. PRESS, INC., AND HAYDON ENTERPRISES. 
  27.  
  28.  
  29. THIS IMPLEMENTATION INCLUDES THE ENTIRE 
  30. FORTH-79 REQUIRED WORD SET.  THE BOOK
  31. "ALL ABOUT FORTH"  BY GLEN B. HAYDON FULLY
  32. DOCUMENTS MVPFORTH. IT IS AVAILABLE FROM 
  33. MOUNTAIN VIEW PRESS, INC.  
  34.  
  35. THE IMPLEMENTATION HAS BEEN TRANSCRIBED FROM
  36. THE ORIGINAL CROSS COMPILER VER. 1.0000.02 .
  37. IT WILL ASSEMBLE WITH "MASM.COM" UNDER MDOS
  38. VER. 1.0 OR 1.1 . 
  39.  
  40. BECAUSE OF THE TYPE-AHEAD BUFFER OF THE IBM,
  41. ?TERMINAL HAS A SLIGHTLY DIFFERENT FUNCTION
  42. FROM STANDARD MVPFORTH.  THE TRUE FLAG IS 
  43. THE ASCII VALUE OF THE KEY STRUCK (THE FALSE
  44. FLAG REMAINS 0).  BY USING  ?DUP  BEFORE 
  45. TESTING, THE VALUE OF THE STRUCK KEY WILL BE
  46. LEFT ON THE STACK.  THUS IT IS NOT NECESSARY
  47. TO CLEAR THE STATUS FLAG WITH THE SEQUENCE
  48.  - KEY DROP . 
  49.  
  50. THE FORTH REGISTERS ARE ASSIGNED ACCORDING
  51. TO FIG-FORTH FOR THE 8086/88, VERSION 1.0,
  52. AS IMPLEMENTED BY THOMAS NEWMAN, 27444
  53. BERENDA WAY, HAYWARD, CA 94544, AND MADE
  54. AVAILABLE BY THE FORTH INTEREST GROUP, 
  55. BOX 1105, SAN CARLOS, CA 94070.
  56.  
  57. FORTH REGISTERS
  58.  
  59. FORTH    8088  FORTH PRESERVATION RULES
  60.  
  61.  IP     SI   INTERPRETER POINTER.
  62.           MUST BE PRESERVED 
  63.           ACROSS FORTH WORDS. 
  64.  
  65.  W     DX   WORKING REGISTER.
  66.           JUMP TO 'DPUSH' WILL 
  67.           PUSH CONTENTS ONTO THE
  68.           PARAMETER STACK BEFORE
  69.           EXECUTING 'APUSH'.
  70.  
  71.  SP     SP   PARAMETER STACK POINTER.
  72.           MUST BE PRESERVED ACROSS
  73.           FORTH WORDS.  THIS IS ALSO
  74.           THE SYSTEM STACK, WHICH 
  75.           IS SOMETIMES CALLED THE
  76.           HARDWARE STACK  -HS .
  77.  
  78.  RP     BP   RETURN STACK POINTER.
  79.           MUST BE PRESERVED ACROSS
  80.           FORTH WORDS. 
  81.  
  82.  
  83. IN ADDITION, THE 8088 CODE SEGMENT, DATA
  84. SEGMENT AND STACK SEGMENT REGISTERS ( CS,
  85. DS, AND SS, MUST BE PRESERVED ACROSS 
  86. FORTH WORDS.
  87.  
  88. THE OTHER REGISTERS OF THE 8088 CPU MAY 
  89. BE USED FREELY. 
  90.  
  91.  
  92.   ! 
  93.   !L
  94.   #
  95.   #>
  96.   #BUFF
  97.   #S
  98.   '
  99.   '-FIND
  100.   '?TERMINAL
  101.   'ABORT
  102.   'BLOCK
  103.   'CR
  104.   'EMIT
  105.   'EXPECT
  106.   'INTERPRET
  107.   'KEY
  108.   'LOAD
  109.   'NUMBER
  110.   'PAGE
  111.   'R/W
  112.   'STREAM
  113.   'T&SCALC
  114.   'VOCABULARY
  115.   'WORD
  116.   (
  117.   *
  118.   */
  119.   */MOD
  120.   +
  121.   +!
  122.   +-
  123.   +LOOP
  124.   ,
  125.   -
  126.   -FIND
  127.   -TRAILING
  128.   .
  129.   ."
  130.   .LINE
  131.   .R
  132.   /
  133.   /LOOP
  134.   /MOD
  135.   0
  136.   0<
  137.   0=
  138.   0>
  139.   0BRANCH
  140.   1
  141.   1+
  142.   1-
  143.   2
  144.   2*
  145.   2+
  146.   2-
  147.   2/
  148.   79-STANDARD
  149.   :
  150.   ;
  151.   <
  152.   <#
  153.   <+LOOP>
  154.   <-FIND>
  155.   <.">
  156.   </LOOP>
  157.   <CODE>
  158.   <<CMOVE>
  159.   <?TERMINAL> ( ---C , F )
  160.   <ABORT">
  161.   <ABORT>
  162.   <BLOCK>
  163.   <CMOVE
  164.   <CMOVE>
  165.   <DO>
  166.   <EMIT>
  167.   <EXPECT>
  168.   <FILL>
  169.   <FIND>
  170.   <INTERPRET>
  171.   <KEY>
  172.   <LINE>
  173.   <LOAD>
  174.   <LOOP>
  175.   <NUMBER>
  176.   <PAGE>
  177.   <R/W>
  178.   <T&SCALC>
  179.   <VOCABULARY79>
  180.   <VOCABULARYFIG>
  181.   <WORD>
  182.   =
  183.   >
  184.   >IN
  185.   >R
  186.   ?
  187.   ?COMP
  188.   ?CONFIGURE
  189.   ?CSP
  190.   ?DUP
  191.   ?LOADING
  192.   ?PAIRS
  193.   ?STACK
  194.   ?STREAM
  195.   ?TREMINAL
  196.   @
  197.   @L
  198.   ABORT
  199.   ABORT"
  200.   ABS
  201.   AGAIN
  202.   ALLOT
  203.   AND
  204.   APUSH
  205.   BASE
  206.   BEGIN
  207.   BL
  208.   BLANK
  209.   BLK
  210.   BLK/DRV
  211.   BLOCK
  212.   BPDRV
  213.   BRANCH
  214.   BUFFER
  215.   BYE
  216.   C!
  217.   C!L
  218.   C,
  219.   C/L
  220.   C@
  221.   C@L
  222.   CFA
  223.   CHANGE
  224.   CLEAR
  225.   CMOVE
  226.   COLD
  227.   COMPILE
  228.   CONFIGURE
  229.   CONSTANT
  230.   CONTEXT
  231.   CONVERT
  232.   COUNT
  233.   CR
  234.   CREATE
  235.   CSP
  236.   CURRENT
  237.   D!
  238.   D+
  239.   D+-
  240.   D.
  241.   D.R
  242.   DL
  243.   DABS
  244.   DDROP
  245.   DDUP
  246.   DECIMAL
  247.   DEFINITIONS
  248.   DEN
  249.   DENSITY
  250.   DEPTH
  251.   DIGIT
  252.   DISK-ERROR
  253.   DLITERAL
  254.   DNEGATE
  255.   DO
  256.   DOES>
  257.   DP
  258.   DPL
  259.   DPUSH
  260.   DR-DEN
  261.   DR0
  262.   DR1
  263.   DR2
  264.   DR3
  265.   DR4
  266.   DRIVE
  267.   DROP
  268.   DUP
  269.   ELSE
  270.   EMIT
  271.   EMPTY-BUFFERS
  272.   ENCLOSE
  273.   EPRINT
  274.   EXECUTE
  275.   EXIT
  276.   EXPECT
  277.   FENCE
  278.   FILL
  279.   FIND
  280.   FIRST
  281.   FLD
  282.   FORGET
  283.   FORTH
  284.   FREEZE
  285.   HERE
  286.   HEX
  287.   HLD
  288.   HOLD
  289.   I
  290.   I'
  291.   IF
  292.   IMMEDIATE
  293.   INIT-FORTH
  294.   INIT-USER
  295.   INTCALL
  296.   INTERPRET
  297.   J
  298.   KEY
  299.   LATEST
  300.   LEAVE
  301.   LFA
  302.   LIMIT
  303.   LIST
  304.   LIT
  305.   LITERAL
  306.   LOAD
  307.   LOOP
  308.   M*
  309.   M*/
  310.   M+
  311.   M/
  312.   M/MOD
  313.   MAX
  314.   MAX-DRV
  315.   MIN
  316.   MOD
  317.   MOVE
  318.   NEGATE
  319.   NEXT
  320.   NEXT1
  321.   NFA
  322.   NOT
  323.   NUMBER
  324.   OFFSET
  325.   OR
  326.   OUT
  327.   OVER
  328.   P!
  329.   P@
  330.   PAD
  331.   PAGE
  332.   PFA
  333.   PICK
  334.   PP
  335.   PREV
  336.   PW!
  337.   PW@
  338.   QWERY
  339.   QUIT
  340.   R#
  341.   R/W
  342.   R0
  343.   R>
  344.   R@
  345.   REPEAT
  346.   ROLL
  347.   ROT
  348.   RP!
  349.   RP@
  350.   RPP
  351.   S->D
  352.   S0
  353.   SAVE-BUFFERS
  354.   SCR
  355.   SEC
  356.   SEC-READ
  357.   SEC-WRITE
  358.   SEC/BLK
  359.   SEC/TR
  360.   SET-DRX
  361.   SIGN
  362.   SMUDGE
  363.   SP!
  364.   SP0
  365.   SP@
  366.   SPACE
  367.   SPACES
  368.   SPBLK
  369.   SPDRV
  370.   SPT
  371.   STATE
  372.   SWAP
  373.   SYSCALL
  374.   T&SCALC
  375.   TEXT
  376.   THEN
  377.   TIB
  378.   TOGGLE
  379.   TRACK
  380.   TRAVERSE
  381.   TYPE
  382.   U*
  383.   U.
  384.   U/MOD
  385.   U<
  386.   UNITL
  387.   UP
  388.   UPDATE
  389.   USE
  390.   USER
  391.   VARIABLE
  392.   VOC-LINK
  393.   VOCABULARY
  394.   WARNING
  395.   WHERE
  396.   WHILE
  397.   WIDTH
  398.   WORD
  399.   X   (NULL)
  400.   XOR
  401.   [
  402.   [COMPILE]
  403.   ]
  404.